<?php
abstract class ARadProcessor {
    protected   $controller;
    protected   $enumRadType;
    public function __construct($enumRadType, $controller = null) {
        $this->enumRadType  =   $enumRadType;
    	if (!is_null($controller)) {
            $this->controller   =   $controller;
        }
    }

    public function setController($controller) {
        $this->controller   =   $controller;
    }

    abstract public function loadAssignmentInputDetails($ticketId, $triggeredElement);

    abstract public function saveAssignmentTicket($data);

    abstract public function loadAssignmentEdit($radTicketId, $triggeredElement);

    abstract public function loadResultInput($radTicketId);

    abstract public function loadResultView($radTicketId);

    protected function getAddiotionalServices() {
        return ORDataObject::factory('RadAdditionalService')->getServicesByType($this->enumRadType);
    }
}
?>